// 对axios的封装

import axios from "axios";

// 请求拦截器
axios.interceptors.request.use(cfg => {
	// 获取jwt（token）
	let jwt = localStorage.getItem('jwt');
	// 如果存在jwt,需要把他放在请求头中
	if (jwt) {
		cfg.headers.Authorization = jwt
	}
	
	return cfg
})


// 响应拦截器
axios.interceptors.response.use(data => {
	//首先应该先判断是否存在jwt，且没有过期
	// 由于后续的请求中，只有成功后才会放回用户的jwt，且存在context中
	if (data.data.context) {
		// 说明请求成功，需要把jwt覆盖本地存储的jwt
		localStorage.setItem('jwt',data.data.context.jwt)
	}

	return data.data || data
})


export default axios